package cn.lzy.study.datasource.controller;

import cn.lzy.study.datasource.datasource.DataSourceType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

/**
 * 数据源切换控制器（用于页面切换数据源）
 * @author LZY
 * @since 2022-08-13
 */
@RestController
@RequestMapping("/dataSource")
public class DataSourceController {

    private static final Logger logger = LoggerFactory.getLogger(DataSourceController.class);

    /**
     * 修改数据源
     * （当前会话会使用指定的数据源进行访问，若别的会话则会使用默认的数据源）
     * @param dataSourceType
     * @param session
     */
    @PostMapping("/switch")
    public void switchDataSource(String dataSourceType, HttpSession session) {
        session.setAttribute(DataSourceType.DS_SESSION_KEY, dataSourceType);
        logger.info("数据源切换为 {}", dataSourceType);
    }
}
